package com.ddwl.schema.vo.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.Instant;

/**
 * (OrderInfo)返回前端对象
 *
 * @author zach
 * @since 2020-06-02 11:21:27
 */
@Data
@ApiModel("订单对象")
public class OrderInfoVo {

    private String id;

    @ApiModelProperty("所属商户")    
    private String mchId;
         
    @ApiModelProperty("所属门店")    
    private String shopId;
         
    @ApiModelProperty("付款方式0一次性结清1.分批结清")    
    private Integer payType;
         
    @ApiModelProperty("用户ID")    
    private String userId;
         
    @ApiModelProperty("用户名称")    
    private String userName;
         
    @ApiModelProperty("商品件数（相同的商品只记一件）")    
    private Integer itemCount;
         
    @ApiModelProperty("订单内容")    
    private String content;
         
    @ApiModelProperty("订单金额")    
    private BigDecimal amount;

    @ApiModelProperty("实际应支付金额")
    private BigDecimal realAmount;

    @ApiModelProperty("配送费金额")
    private BigDecimal fare;

    @ApiModelProperty("订单商品信息")
    private String skuSnapshoot;

    @ApiModelProperty("已支付金额")
    private BigDecimal payAmount;

    @ApiModelProperty("当前需要支付多少钱")
    private BigDecimal thisPayAmount;

    @ApiModelProperty("结算状态（0未结算10结算中20结算成功30结算失败）")
    private Integer settlementStatus;

    @ApiModelProperty("订单备注")    
    private String note;
         
    @ApiModelProperty("订单支付时间")    
    private Instant payTime;
         
    @ApiModelProperty("订单关闭时间")    
    private Instant closeTime;

    @ApiModelProperty("区域Id")
    private String regionId;
         
    @ApiModelProperty("确认收货时间")    
    private Instant confirmTime;
         
    @ApiModelProperty("订单过期时间")    
    private Instant expirationTime;

    @ApiModelProperty("订单开始支付时间")
    private Instant startPayTime;

    @ApiModelProperty("发货时间")
    private Instant deliveryTime;

    @ApiModelProperty("订单完成时间")
    private Instant finishTime;
         
    @ApiModelProperty("订单状态 0 未支付 1已支付 2已发货 3 已签收 4已取消 5 退款中 6已退款 7付款超时关闭")
    private Integer status;
         
    @ApiModelProperty("推广信息")    
    private String source;
         
    @ApiModelProperty("那个产品的订单")    
    private String product;
         
    @ApiModelProperty("创建时间")    
    private Instant gmtCreated;

    @ApiModelProperty("修改时间")
    private Instant gmtModified;

    @ApiModelProperty("主订单id")
    private String masterOrderId;

    @ApiModelProperty("支付方式0微信1支付宝")
    private String paymentType;

    @ApiModelProperty("备注")
    private String remark;


    @ApiModelProperty("保修期")
    private Instant repairTime;

    @ApiModelProperty("是否进行售后(0否 1进行中 2结束)")
    private Integer isAfterSale;

    @ApiModelProperty("申请售后次数")
    private Integer afterSaleCount;

    @ApiModelProperty("是否秒杀订单 (0否 1是)")
    private Integer isSeckill;
    @ApiModelProperty("秒杀单id")
    private String seckillId;
    @ApiModelProperty("订单类型 (0普通订单 1秒杀单 2砍价单 3限时购 4打折)")
    private Integer orderType;
    @ApiModelProperty("0快递1外送2自提")
    private Integer deliveryType;
    @ApiModelProperty("0平台订单1店铺订单")
    private Integer platformTag;

    @ApiModelProperty(value = "佣金类型：0销售商品佣金 1开门店佣金 2用户发展代理佣金")
    private Integer distType;

    @ApiModelProperty("是否公益订单 0否 1是")
    private Integer charityFlag;

    @ApiModelProperty("是否代理商品订单 0否 1是")
    private Integer agentFlag;


}